阅读:2652 回复:4
实名用户_268a9ec2
6

帖子

18

跟帖

1158

积分

中级榴莲
中级榴莲
  • 社区居民

[已解决]在代码里怎么调用数据模型里配置的业务方法(带参数的)

楼主#
更多 发布于:2017-02-17 11:18
  InstanceData data = new InstanceData(_Engine, "2b9c4856-1455-4cb2-95da-b86efa521b8d", OThinker.Organization.User.SystemUserID);
        BizStructure bsparams = new BizStructure();
        ItemSchema ischema = new ItemSchema();
        data.BizObject.Schema.Invoke(null, null, "", null, "SendMail18",null);


Invoke这个方法怎么调用数据模型里配置的业务方法  

业务方法名称为:SendMail18
业务方法与业务服务方法的映射列表里的
业务服务    SendMailServers
方法名称    SendMailUserArr

最新喜欢:

游魂游魂 小鱼小鱼 tigerctigerc
武汉技术支持团队
40

帖子

1181

跟帖

3860

积分

论坛版主
论坛版主
1楼#
发布于:2017-02-17 16:30
帖内置顶  –  H3BPM  –  2017-02-20 15:44
        /// <summary>
        /// 后台调用业务服务
        /// </summary>
        /// <param name="serviceCode">业务服务编码</param>
        /// <param name="serviceMethod">方法名称</param>
        /// <param name="dicParams">参数字典</param>
        public static void ExecuteBizNonQuery(string serviceCode, string serviceMethod, Dictionary<string, object> dicParams)
        {
            // 获得业务方法
            OThinker.H3.BizBus.BizService.MethodSchema method = WorkSheet.AppUtility.Engine.BizBus.GetMethod(serviceCode, serviceMethod);
            // 获得参数列表
            OThinker.H3.BizBus.BizService.BizStructure param = null;
            if (dicParams != null)
            {
                // 填充业务方法需要的参数
                param = H3.BizBus.BizService.BizStructureUtility.Create(method.ParamSchema);
                foreach (var item in dicParams)
                {
                    param[item.Key] = item.Value;
                }
            }
            // 调用方法返回结果
            OThinker.H3.BizBus.BizService.BizStructure ret = null;
            try
            {
                // 调用方法,获得返回结果
                ret = WorkSheet.AppUtility.Engine.BizBus.Invoke(
                     new BizBus.BizService.BizServiceInvokingContext(
                         AdminId,
                         serviceCode,
                         method.ServiceVersion,
                         method.MethodName,
                         param));
            }
            catch (Exception ex)
            {
                // 调用错误日志记录
                WorkSheet.AppUtility.Engine.LogWriter.Write("业务服务调用错误:" + ex);
            }

        }
H3BPM
655

帖子

2504

跟帖

46406

积分

管理员
管理员
  • 社区居民
2楼#
发布于:2017-02-17 13:41
10月签到活动奖励发放啦:http://bbs.h3bpm.com/read.php?tid=5377&fid=5
武汉技术支持团队
40

帖子

1181

跟帖

3860

积分

论坛版主
论坛版主
3楼#
发布于:2017-02-17 16:30
        /// <summary>
        /// 后台调用业务服务
        /// </summary>
        /// <param name="serviceCode">业务服务编码</param>
        /// <param name="serviceMethod">方法名称</param>
        /// <param name="dicParams">参数字典</param>
        public static void ExecuteBizNonQuery(string serviceCode, string serviceMethod, Dictionary<string, object> dicParams)
        {
            // 获得业务方法
            OThinker.H3.BizBus.BizService.MethodSchema method = WorkSheet.AppUtility.Engine.BizBus.GetMethod(serviceCode, serviceMethod);
            // 获得参数列表
            OThinker.H3.BizBus.BizService.BizStructure param = null;
            if (dicParams != null)
            {
                // 填充业务方法需要的参数
                param = H3.BizBus.BizService.BizStructureUtility.Create(method.ParamSchema);
                foreach (var item in dicParams)
                {
                    param[item.Key] = item.Value;
                }
            }
            // 调用方法返回结果
            OThinker.H3.BizBus.BizService.BizStructure ret = null;
            try
            {
                // 调用方法,获得返回结果
                ret = WorkSheet.AppUtility.Engine.BizBus.Invoke(
                     new BizBus.BizService.BizServiceInvokingContext(
                         AdminId,
                         serviceCode,
                         method.ServiceVersion,
                         method.MethodName,
                         param));
            }
            catch (Exception ex)
            {
                // 调用错误日志记录
                WorkSheet.AppUtility.Engine.LogWriter.Write("业务服务调用错误:" + ex);
            }

        }
武汉技术支持团队
40

帖子

1181

跟帖

3860

积分

论坛版主
论坛版主
4楼#
发布于:2017-02-17 16:30
以上是后台调用业务服务方法的代码,请参考这个代码
实名用户_268a9ec2
6

帖子

18

跟帖

1158

积分

中级榴莲
中级榴莲
  • 社区居民
5楼#
发布于:2017-02-20 11:03
武汉技术支持团队:以上是后台调用业务服务方法的代码,请参考这个代码回到原帖
非常感谢
游客

返回顶部